package Network;

import java.io.IOException;
import java.net.SocketException;
import java.util.HashMap;

/**
 * 实现一个词典翻译服务器
 * 英 译 汉
 */
class UdpDirectServer extends UdpEchoServer{
    //翻译服务器,连接功能与初始的服务器一样,通过继承UdpEchoServer类,
    // 重写process方法,实现特有功能
    //创建一个哈希表,通过键值对来实现一个查找的功能
    private HashMap<String,String> hashMap=new HashMap<>();
    public UdpDirectServer(int serverPort) throws SocketException {
        super(serverPort);
        //填充哈希表
        hashMap.put("cat","小猫");
        hashMap.put("dog","小狗");
        hashMap.put("pig","小猪");
        hashMap.put("flag","小鸟");
        //......
        //真实的翻译词典也是通过大量的键值对来实现查找功能的
    }
    //重写父类的process方法,实现"翻译"功能
    @Override
    public String process(String request) {
        return hashMap.getOrDefault(request,"要查找的单词不存在");
    }

    public static void main(String[] args) throws IOException {
        UdpDirectServer udpDirectServer = new UdpDirectServer(9090);
        udpDirectServer.start();
    }
}
